package com.itheima.service;

import com.itheima.pojo.po.VisualizationPo;

import java.util.List;
import java.util.Map;

public interface IVisualizationService {
    /**
     * 获取用户数据列表
     * @param po
     * @return
     */
    Map<String, Object> getUserDataList(VisualizationPo po);

    /**
     * 获取用户地图数据列表
     * @param po
     * @return
     */
    List<Map<String, Object>> getUserMapDataList(VisualizationPo po);

    /**
     * 获取用户统计数据
     * @param po
     * @return
     */
    List<Integer> userDataStatistics(VisualizationPo po);

    /**
     * 获取用户登录统计数据
     * @param po
     * @return
     */
    List<Map<String, Object>> userLoginStatistics(VisualizationPo po);

    /**
     * 用户活跃及占比统计
     * @param po
     * @return
     */
    List<Map<String, Object>> userActiveStatistics(VisualizationPo po);

    /**
     * 项目统计数据
     * @param po
     * @return
     */
    Map<String, Object> projectStatistics(VisualizationPo po);

    /**
     * 获取项目折线图数据
     * @param po
     * @return
     */
    Map<String, Object> projectLineData(VisualizationPo po);

    /**
     * 获取项目地图数据
     * @param po
     * @return
     */
    List<Map<String, Object>> projectMapData(VisualizationPo po);

    /**
     * 项目数量及占比统计
     * @param po
     * @return
     */
    List<Integer> getProjectTypePie(VisualizationPo po);

    /**
     * 项目类型数量及占比
     * @param po
     * @return
     */
    List<Map<String, Object>> getProjectTypeBar(VisualizationPo po);

    /**
     * 项目浏览量和访问量
     * @param po
     * @return
     */
    Map<String, Object> getProjectVisit(VisualizationPo po);
}
